package com.cyou.nad.datastore;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 行
 * @author lzm 
 */
@SuppressWarnings("unchecked")
public class DSRow implements Serializable{

	private static final long serialVersionUID = 5541000138370787059L;

	
	protected List<Comparable> dataList;

	public DSRow(int colNum) {
		dataList = new ArrayList<Comparable>(colNum);
	}

	/* (non-Javadoc)
	 * @see com.inspur.datastore.Row#deleteColumn(int)
	 */
	public void deleteColumn(int i) {
		dataList.remove(i);
	}

	public Comparable getCell(int i) {
		if (i >= dataList.size())
			return null;
		return dataList.get(i);
	}

	/* (non-Javadoc)
	 * @see com.inspur.datastore.Row#insertColumn(int, java.lang.Object)
	 */
	public int insertColumn(int colNo, Comparable obj) {

		if (colNo < 0 || colNo > dataList.size() - 1) {
			dataList.add(obj);
		} else {
			dataList.add(colNo, obj);
		}

		return dataList.size();
	}

	public void setCell(int i, Comparable obj) {
		if (i >= dataList.size()) {
			for (int j = dataList.size() - 1; j <= i - 1; j++) {
				dataList.add(null);
			}
		}
		dataList.set(i, obj);
	}

	public void addCell(int i, Comparable obj) {
		if (i >= dataList.size()) {
			for (int j = dataList.size() - 1; j <= i - 1; j++) {
				dataList.add(null);
			}
		}
		dataList.add(i, obj);
	}

	public static void main(String[] args) {
		List list = new ArrayList();
		for (int i = 0; i < 11; i++) {
			list.add(null);
		}
		list.set(10, new Object());
	}
}
